package com.ruoyi.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 缸闸井台账对象 bus_clinder_gate
 * 
 * @author oyh
 * @date 2024-07-15
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class BusClinderGate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 删除标识 */
    private String delFlag;

    /** 创建者ID */
    private Long createUser;

    /** 更新者ID */
    private Long updateUser;

    /** 设施编号 */
    @Excel(name = "设施编号")
    private String facilityCode;

    /** 类型 */
    @Excel(name = "类型")
    private String type;

    /** 型号 */
    @Excel(name = "型号")
    private String model;

    /** 材质 */
    private String material;

    /** 压力（kpa） */
    @Excel(name = "压力", readConverterExp = "k=pa")
    private String pressure;

    /** 管径 */
    private Long diameter;

    /** 建设年代 */
    private Long year;

    /** 绝对高度（m） */
    private Long height;

    /** 所属小区 */
    @Excel(name = "所属小区")
    private Long neighborId;

    /** 所属街道 */
    @Excel(name = "所属街道")
    private Long streetId;

    /** 详细地址 */
    private String address;

    /** 经度 */
    private String longitude;

    /** 纬度 */
    private String latitude;

    /** 班组 */
    @Excel(name = "班组")
    private Long teamId;

    /** 负责人员 */
    @Excel(name = "负责人员")
    private Long personId;

    /** 运行日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "运行日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date runDate;

//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date startDate;
//
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date endDate;

    /** 是否安装泄露报警 */
    private String policeFlag;

    /** 报警类型 */
    private String policeType;

    /** 报警序号 */
    private Long policeId;

    /** 厂家 */
    private String policeFactory;

    /** 厂家编号 */
    private Long factoryId;

    /** 是否有放散 */
    private String diffuseFlag;

    /** 放散数量 */
    private Long diffuseNum;

    /** 放散口径 */
    private String diffuseCaliber;

    /** 是否有二次保护 */
    private String protect2Flag;

    /** 内部照片 */
    private String innerPhoto;

    /** 外部照片 */
    private String outerPhoto;

    /** 运行状态 */
    private String status;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("delFlag", getDelFlag())
            .append("createUser", getCreateUser())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("facilityCode", getFacilityCode())
            .append("type", getType())
            .append("model", getModel())
            .append("material", getMaterial())
            .append("pressure", getPressure())
            .append("diameter", getDiameter())
            .append("year", getYear())
            .append("height", getHeight())
            .append("neighborId", getNeighborId())
            .append("streetId", getStreetId())
            .append("address", getAddress())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("teamId", getTeamId())
            .append("personId", getPersonId())
            .append("runDate", getRunDate())
            .append("policeFlag", getPoliceFlag())
            .append("policeType", getPoliceType())
            .append("policeId", getPoliceId())
            .append("policeFactory", getPoliceFactory())
            .append("factoryId", getFactoryId())
            .append("diffuseFlag", getDiffuseFlag())
            .append("diffuseNum", getDiffuseNum())
            .append("diffuseCaliber", getDiffuseCaliber())
            .append("protect2Flag", getProtect2Flag())
            .append("innerPhoto", getInnerPhoto())
            .append("outerPhoto", getOuterPhoto())
            .append("status", getStatus())
            .toString();
    }
}
